﻿Public Class prated

    'country variable
    Private countryCODECOUNTRY As Integer = Nothing
    Private countryCOUNTRY As String = Nothing
    Private countryCOUNTRY_EN As String = Nothing
    Private selectCountry As String = "SELECT `codecountry` as 'รหัสประเทศ', `country` as 'ประเทศ', `country_en` as 'country' FROM mascountry"
    Dim connect As CONDB = CONDB.NewConnection()

    'country property, method
    Public Property countryCOUNTRY_() As String
        Get
            Return countryCOUNTRY
        End Get
        Set(value As String)
            countryCOUNTRY = value
        End Set
    End Property

    Public Property countryCODECOUNTRY_() As Integer
        Get
            Return countryCODECOUNTRY
        End Get
        Set(value As Integer)
            countryCODECOUNTRY = value
        End Set
    End Property

    Public Property countryCOUNTRY_EN_() As String
        Get
            Return countryCOUNTRY_EN
        End Get
        Set(value As String)
            countryCOUNTRY_EN = value
        End Set
    End Property

    Public Property countrySelectCountry_ As String
        Get
            Return selectCountry
        End Get
        Set(value As String)

        End Set
    End Property

    Public Sub insertCountry()
        If TypeOf countryCOUNTRY Is String Then
            If connect.GetTable("SELECT country FROM mascountry WHERE country = '" & countryCOUNTRY & "' OR codecountry = '" & countryCODECOUNTRY & "' OR country_en = '" & countryCOUNTRY_EN & "'").Rows.Count > 0 Then
                MsgBox("ไม่สามารถเพิ่มชื่อประเทศนี้ได้อีก เนื่องจากมีชื่อประเทศนี้หรือรหัสประเทศนี้อยู่ในระบบอยู่แล้ว")
            Else
                Try
                    connect = CONDB.NewConnection()

                    connect.ExecuteNonQuery("INSERT INTO mascountry (codecountry, country, country_en) VALUES ('" & countryCODECOUNTRY & "', '" & countryCOUNTRY & "', '" & countryCOUNTRY_EN & "')")

                    MsgBox("ท่านได้ทำการเพิ่มประเทศเรียบร้อยแล้ว")
                Catch ex As Exception
                    MsgBox("มีเลขรหัสประเทศนี้อยู่ในระบบอยู่แล้ว" & vbCrLf & ex.Message)
                End Try
                connect.Dispose()
            End If
        Else
            MsgBox("โปรดกรุณาระบุข้อมูลให้ถูกต้อง รหัสประเทศต้องเป็นข้อมูลตัวเลข ชื่อประเทศต้องเป็นตัวอักษร")
        End If
    End Sub

    Public Sub editCountry()
        If TypeOf countryCOUNTRY Is String Then
            Try
                connect = CONDB.NewConnection()

                connect.ExecuteNonQuery("UPDATE mascountry SET country = '" & countryCOUNTRY & "', country_en = '" & countryCOUNTRY_EN & "' WHERE codecountry = '" & countryCODECOUNTRY & "'")

                MsgBox("ท่านได้ทำการแก้ไขข้อมูลประเทศเรียบร้อยแล้ว")
            Catch ex As Exception
                MsgBox("มีเลขรหัสประเทศนี้อยู่ในระบบอยู่แล้ว" & vbCrLf & ex.Message)
            End Try
            connect.Dispose()
        Else
            MsgBox("โปรดกรุณาระบุข้อมูลให้ถูกต้อง รหัสประเทศต้องเป็นข้อมูลตัวเลข ชื่อประเทศต้องเป็นตัวอักษร")
        End If
    End Sub
    Public Sub loadcomboboxchangwatbyCountry(ByVal MasCountryCmb As ComboBox)
        Dim MASCOUNTRY As DataTable
        MASCOUNTRY = connect.GetTable("SELECT `country`, `codecountry` FROM mascountry")
        Try
            With MasCountryCmb
                .DataSource = MASCOUNTRY
                .DisplayMember = "country"
                .ValueMember = "codecountry"
                '.BindingContext = BindingContext
            End With
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
    End Sub
    Public Sub loadcomboboxampurbychangwat(ByVal MasChangwatCmb As ComboBox)
        Dim MASCHANGWAT As DataTable
        MASCHANGWAT = connect.GetTable("SELECT `changwat`, `codechangwat` from maschangwat")
        Try
            With MasChangwatCmb
                .DataSource = MASCHANGWAT
                .DisplayMember = "changwat"
                .ValueMember = "codechangwat"
                '.BindingContext = BindingContext
            End With
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
    End Sub
    Public Sub loadcomboboxtambonbyampur(ByVal MasAmpurCmb As ComboBox)
        Dim MASAMPUR As DataTable
        MASAMPUR = connect.GetTable("SELECT `ampur`, `ampid` from masampur")
        Try
            With MasAmpurCmb
                .DataSource = MASAMPUR
                .DisplayMember = "ampur"
                .ValueMember = "ampid"
                '.BindingContext = BindingContext
            End With
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
    End Sub
    'changwat variable
    Private changwatCODECHANGWAT As Integer = Nothing
    Private changwatCHANGWAT As String = Nothing
    Private changwatCODECOUNTRY1 As Integer = Nothing
    Private selectChangwat As String = "SELECT b.country as 'ประเทศ', a.codecountry1 as CODECOUNTRY1, a.codechangwat as 'รหัสจังหวัด', a.changwat as 'จังหวัด' FROM maschangwat a INNER JOIN mascountry b ON a.codecountry1 = b.codecountry ORDER BY changwat ASC"
    Private selectChangwatFromCountry As String = Nothing

    'changwat property, method

    Public Property changwatCODECHANGWAT_() As Integer
        Get
            Return changwatCODECHANGWAT
        End Get
        Set(value As Integer)
            changwatCODECHANGWAT = value
        End Set
    End Property


    Public Property changwatCHANGWAT_() As String
        Get
            Return changwatCHANGWAT
        End Get
        Set(value As String)
            changwatCHANGWAT = value
        End Set
    End Property

    Public Property changwatCODECOUNTRY1_ As Integer
        Get
            Return changwatCODECOUNTRY1
        End Get
        Set(value As Integer)
            changwatCODECOUNTRY1 = value
        End Set
    End Property

    Public Property selectChangwat_ As String
        Get
            Return selectChangwat
        End Get
        Set(value As String)

        End Set
    End Property

    Public Property selectChangwatFromCountry_ As String
        Get
            Return selectChangwatFromCountry
        End Get
        Set(value As String)
            selectChangwatFromCountry = "SELECT * FROM maschangwat where codecountry1 = " & value & " ORDER BY changwat ASC"
        End Set
    End Property

    Public Sub insertChangwat()
        If TypeOf changwatCHANGWAT Is String Then
            If connect.GetTable("SELECT changwat FROM maschangwat WHERE changwat = '" & changwatCHANGWAT & "' OR codechangwat = '" & changwatCODECHANGWAT & "'").Rows.Count > 0 Then
                MsgBox("ไม่สามารถเพิ่มชื่อจังหวัดนี้ได้อีก เนื่องจากมีชื่อจังหวัดนี้หรือรหัสจังหวัดนี้อยู่ในระบบอยู่แล้ว")
            Else
                Try
                    connect = CONDB.NewConnection()

                    connect.ExecuteNonQuery("INSERT INTO maschangwat (codechangwat, codecountry1, changwat) VALUE ('" & changwatCODECHANGWAT & "', '" & changwatCODECOUNTRY1 & "', '" & changwatCHANGWAT & "')")

                    MsgBox("ท่านได้ทำการเพิ่มข้อมูลจังหวัดเรียบร้อยแล้ว")
                Catch ex As Exception
                    MsgBox("มีเลขรหัสประเทศนี้อยู่ในระบบอยู่แล้ว" & vbCrLf & ex.Message)
                End Try
                connect.Dispose()
            End If
        Else
            MsgBox("โปรดกรุณาระบุข้อมูลให้ถูกต้อง รหัสจังหวัดต้องเป็นข้อมูลตัวเลข ชื่อจังหวัดต้องเป็นตัวอักษร")
        End If
    End Sub

    Public Sub editChangwat()
        If TypeOf changwatCHANGWAT Is String Then
            Try
                connect = CONDB.NewConnection()

                connect.ExecuteNonQuery("UPDATE maschangwat SET codecountry1 = '" & changwatCODECOUNTRY1 & "', changwat = '" & changwatCHANGWAT & "' WHERE codechangwat = '" & changwatCODECHANGWAT & "'")

                MsgBox("ท่านได้ทำการแก้ไขข้อมูลจังหวัดเรียบร้อยแล้ว")
            Catch ex As Exception
                MsgBox("มีเลขรหัสประเทศนี้อยู่ในระบบอยู่แล้ว" & vbCrLf & ex.Message)
            End Try
            connect.Dispose()
        Else
            MsgBox("โปรดกรุณาระบุข้อมูลให้ถูกต้อง รหัสจังหวัดต้องเป็นข้อมูลตัวเลข ชื่อจังหวัดต้องเป็นตัวอักษร")
        End If
    End Sub

    'ampur variable
    'Private ampurAMPID As Integer = Nothing
    Private ampurCODECOUNTRY As Integer = Nothing
    Private ampurCODECHANGWAT As Integer = Nothing
    Private ampurAMPUR As String = Nothing
    Private ampurCODEAMPUR As Integer = Nothing
    Private ampurAMPID As Integer = Nothing
    Private selectAmpurFromChangwat As String = Nothing
    Private selectampur As String = "select a.ampid as 'AMPID', b.country as 'ประเทศ', a.codecountry as 'CODECOUNTRY', c.changwat as 'จังหวัด', a.codechangwat as 'CODECHANGWAT', a.codeampur as 'รหัสอำเภอ', a.ampur as 'อำเภอ' FROM masampur a INNER JOIN mascountry b ON a.codecountry = b.codecountry JOIN maschangwat c ON a.codechangwat = c.codechangwat ORDER BY a.ampur ASC"

    'ampur property, method
    Public Property ampurAMPID_() As Integer
        Get
            Return ampurAMPID
        End Get
        Set(value As Integer)
            ampurAMPID = value
        End Set
    End Property


    Public Property ampurCODECOUNTRY_() As String
        Get
            Return ampurCODECOUNTRY
        End Get
        Set(value As String)
            ampurCODECOUNTRY = value
        End Set
    End Property

    Public Property ampurCODECHANGWAT_ As Integer
        Get
            Return ampurCODECHANGWAT
        End Get
        Set(value As Integer)
            ampurCODECHANGWAT = value
        End Set
    End Property

    Public Property ampurAMPUR_ As String
        Get
            Return ampurAMPUR
        End Get
        Set(value As String)
            ampurAMPUR = value
        End Set
    End Property

    Public Property ampurCODEAMPUR_ As Integer
        Get
            Return ampurCODEAMPUR
        End Get
        Set(value As Integer)
            ampurCODEAMPUR = value
        End Set
    End Property

    Public Property selectAmpur_ As String
        Get
            Return selectAmpur
        End Get
        Set(value As String)

        End Set
    End Property

    Public Property selectAmpurFromChangwat_ As String
        Get
            Return selectAmpurFromChangwat
        End Get
        Set(value As String)
            selectAmpurFromChangwat = "SELECT * FROM masampur where codechangwat = " & value & " ORDER BY ampur ASC"
        End Set
    End Property

    Public Sub insertAmpur()
        If TypeOf ampurAMPUR Is String Then
            If connect.GetTable("SELECT changwat FROM maschangwat WHERE changwat = '" & changwatCHANGWAT & "' AND codechangwat = '" & changwatCODECHANGWAT & "'").Rows.Count > 0 Then
                MsgBox("ไม่สามารถเพิ่มชื่อประเทศนี้ได้อีก เนื่องจากมีชื่อประเทศนี้อยู่ในระบบอยู่แล้ว")
            Else
                Try
                    connect = CONDB.NewConnection()

                    Dim lastAMPID As Integer

                    lastAMPID = connect.ExecuteNonQuery("INSERT INTO masampur (codechangwat, codecountry, ampur, codeampur) VALUES ('" & ampurCODECHANGWAT & "', '" & ampurCODECOUNTRY & "', '" & ampurAMPUR & "', '" & ampurCODEAMPUR & "');")
                    MsgBox("ท่านได้ทำการเพิ่มข้อมูลอำเภอเรียบร้อยแล้ว")
                Catch ex As Exception
                    MsgBox("มีเลขรหัสอำเภอนี้อยู่ในระบบอยู่แล้ว" & vbCrLf & ex.Message)
                End Try
                connect.Dispose()
            End If
        Else
            MsgBox("โปรดกรุณาระบุข้อมูลให้ถูกต้อง รหัสอำเภอต้องเป็นข้อมูลตัวเลข ชื่ออำเภอต้องเป็นตัวอักษร")
        End If
    End Sub

    Public Sub editAmpur()
        If TypeOf ampurAMPUR Is String Then
            Try
                connect = CONDB.NewConnection()

                connect.ExecuteNonQuery("UPDATE masampur SET codechangwat = '" & ampurCODECHANGWAT & "', codecountry = '" & ampurCODECOUNTRY & "', ampur = '" & ampurAMPUR & "', codeampur = '" & ampurCODEAMPUR & "' WHERE ampid = '" & ampurAMPID & "'")
                MsgBox("ท่านได้ทำการแก้ไขข้อมูลอำเภอเรียบร้อยแล้ว")
            Catch ex As Exception
                MsgBox("มีเลขรหัสอำเภอนี้อยู่ในระบบอยู่แล้ว" & vbCrLf & ex.Message)
            End Try
            connect.Dispose()
        Else
            MsgBox("โปรดกรุณาระบุข้อมูลให้ถูกต้อง รหัสอำเภอต้องเป็นข้อมูลตัวเลข ชื่ออำเภอต้องเป็นตัวอักษร")
        End If
    End Sub

    Public Sub preQueryComboboxMasampur(queryStatement As String, ByVal comboboxName As ComboBox)
        Dim masampurData As DataTable

        Try
            With comboboxName
                .DataSource = masampurData
                .DisplayMember = "AMPUR"
                .ValueMember = "AMPID"
                '.BindingContext = BindingContext
            End With
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
    End Sub

    'tambon variable
    Private tambonTMBID As Integer = Nothing
    Private tambonAMPID As Integer = Nothing
    Private tambonCODECOUNTRY As Integer = Nothing
    Private tambonCODECHANGWAT As Integer = Nothing
    Private tambonTAMBON As String = Nothing
    Private tambonPostcode As Integer = Nothing
    Private selectTambon As String = "SELECT d.`codecountry` as 'CODECOUNTRY', a.country as 'ประเทศ', d.codechangwat as 'CODECHANGWAT', b.changwat as 'จังหวัด', d.ampid as 'AMPID', c.ampur  as 'อำเภอ', d.tmbid as 'TMBID', d.tambon as 'ตำบล', d.postcode as 'รหัสไปรษณีย์' FROM mascountry a JOIN maschangwat b ON a.codecountry = b.codecountry1 LEFT JOIN masampur c ON b.codechangwat = c.codechangwat LEFT JOIN mastambon d ON c.ampid = d.ampid WHERE d.tambon IS NOT NULL ORDER BY tambon ASC"

    Public Property tambonTMBID_ As Integer
        Get
            Return tambonTMBID
        End Get
        Set(value As Integer)
            tambonTMBID = value
        End Set
    End Property

    Public Property tambonAMPID_ As Integer
        Get
            Return tambonAMPID
        End Get
        Set(value As Integer)
            tambonAMPID = value
        End Set
    End Property

    Public Property tambonCODECOUNTRY_ As Integer
        Get
            Return tambonCODECOUNTRY
        End Get
        Set(value As Integer)
            tambonCODECOUNTRY = value
        End Set
    End Property

    Public Property tambonCODECHANGWAT_ As Integer
        Get
            Return tambonCODECHANGWAT
        End Get
        Set(value As Integer)
            tambonCODECHANGWAT = value
        End Set
    End Property

    Public Property tambonTAMBON_ As String
        Get
            Return tambonTAMBON
        End Get
        Set(value As String)
            tambonTAMBON = value
        End Set
    End Property

    Public Property tambonPostcode_ As String
        Get
            Return tambonPostcode
        End Get
        Set(value As String)
            tambonPostcode = value
        End Set
    End Property

    Public Property selectTambon_ As String
        Get
            Return selectTambon
        End Get
        Set(value As String)
            selectTambon = value
        End Set
    End Property

    Public Sub insertTambon()
        If TypeOf tambonTAMBON Is String Then
            If connect.GetTable("SELECT tambon FROM mastambon WHERE tambon = '" & tambonTAMBON & "'").Rows.Count > 0 Then
                MsgBox("ไม่สามารถเพิ่มชื่อตำบลนี้ได้อีก เนื่องจากมีชื่อตำบลนี้หรือรหัสตำบลนี้อยู่ในระบบแล้ว")
            Else
                Try
                    connect = CONDB.NewConnection()
                    Dim tambonID As Integer

                    tambonID = connect.ExecuteNonQuery("INSERT INTO mastambon (ampid, codechangwat, codecountry, tambon, postcode) VALUES ('" & tambonAMPID & "', '" & tambonCODECHANGWAT & "', '" & tambonCODECOUNTRY & "', '" & tambonTAMBON & "', '" & tambonPostcode & "');")
                    MsgBox("ท่านได้ทำการเพิ่มข้อมูลตำบลเรียบร้อยแล้ว")
                Catch ex As Exception
                    MsgBox("มีเลขรหัสตำบลนี้อยู่ในระบบอยู่แล้ว" & vbCrLf & ex.Message)
                End Try
                connect.Dispose()
            End If
        Else
            MsgBox("โปรดกรุณาระบุข้อมูลให้ถูกต้อง รหัสตำบลต้องเป็นข้อมูลตัวเลข ชื่อตำบลต้องเป็นตัวอักษร")
        End If
    End Sub

    Public Sub editTambon()
        If TypeOf tambonTAMBON Is String Then
            Try
                connect = CONDB.NewConnection()

                connect.ExecuteNonQuery("UPDATE mastambon SET ampid = '" & tambonAMPID & "', codechangwat = '" & tambonCODECHANGWAT & "', codecountry = '" & tambonCODECOUNTRY & "', tambon = '" & tambonTAMBON & "', postcode = '" & tambonPostcode & "' WHERE tmbid = '" & tambonTMBID & "'")
                MsgBox("ท่านได้ทำการแก้ไขข้อมูลตำบลเรียบร้อยแล้ว")
            Catch ex As Exception
                MsgBox("มีเลขรหัสตำบลนี้อยู่ในระบบอยู่แล้ว" & vbCrLf & ex.Message)
            End Try
            connect.Dispose()
        Else
            MsgBox("โปรดกรุณาระบุข้อมูลให้ถูกต้อง รหัสตำบลต้องเป็นข้อมูลตัวเลข ชื่อตำบลต้องเป็นตัวอักษร")
        End If
    End Sub

    'Public Function deleteTambon()
    '    If tambonTMBID > 0 And tambonAMPID > 0 And tambonCODECOUNTRY > 0 And tambonCODECHANGWAT > 0 And tambonTAMBON <> "" Then
    '        Dim connect As CONDB = CONDB.NewConnection()
    '        connect = CONDB.NewConnection()

    '        If TypeOf tambonTAMBON Is String Then
    '            Try
    '                connect.ExecuteNonQuery("DELETE FROM mastambon WHERE TMBID = '" & tambonTMBID & "'")
    '                MsgBox("ท่านได้ทำการลบข้อมูลตำบลเรียบร้อยแล้ว")
    '            Catch ex As Exception
    '                MsgBox("มีเลขรหัสตำบลนี้อยู่ในระบบอยู่แล้ว" & vbCrLf & ex.Message)
    '            End Try

    '            connect.Dispose()
    '        Else
    '            MsgBox("โปรดกรุณาระบุข้อมูลให้ถูกต้อง รหัสตำบลต้องเป็นข้อมูลตัวเลข ชื่อตำบลต้องเป็นตัวอักษร")
    '        End If
    '    Else
    '        MsgBox("ท่านต้องทำการระบุข้อมูลให้ครบถ้วน")
    '    End If
    'End Function

End Class
